package com.nix.web.databases.mapper.word;

import com.nix.web.databases.CurdFactory;
import com.nix.web.databases.pojo.word.MarkWord;
import com.nix.web.databases.pojo.word.Word;
import com.nix.web.databases.pojo.word.WordError;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author zhangpei
 * @Email zhangpe0312@qq.com
 * @day 2017/11/19 13:44
 * @Use 需求的操作
 * <h1>标注阶段需求</h1>
 * 1.能够分配指定单词个数给用户进行标注
 * 2.用户可以根据分配的单词进行选择性标注，不能标注的可以取消标注，可以标注但是未标注的可以保存，当想标注的时候就标注
 * 3.用户可以查看自己标注的单词的所有信息，并且再没有提交前可以进行更改（
 * 保存数据，是把数据存入cookie里，
 * 提交数据，是把数据从cookie里存入数据库里
 * 用户可以查看自己分配词的标注情况是：
 * 申请了未标注的
 * 标注了保存的但没有提交的
 * 标注了保存的而且提交数据库的）
 * 4.用户可以报错，添加备注，说明错误
 * @see WordError
 */
public interface WordMapper extends CurdFactory<Word> {
    /**
     * 当数据量小于1W时采用mybatis批量插入
     *
     * @param words
     */
    void addWordList(List<Word> words);

    /**
     * 单词绑定单词词性
     * @param wid
     * @param cid
     */
    void addCategory(@Param("wid")Integer wid,@Param("cid")Integer cid);

    /**
     * 查找到所有的单词
     * @return
     */
    List<Word> selectAll();
}
